The present inventive concepts relate to computerized key-value caching, and more particularly, to a high bandwidth peer-to-peer switched key-value system and method.
The Internet is a vast network of interconnected computers, which continues to expand at a rapid pace. Millions of websites are accessible through the Internet. Some of the more popular websites experience millions of hits, sometimes within a single day. Large pools of servers are deployed to handle such traffic. The pools of servers run software applications to manage the high number of requests. Such software applications can include Memcached, which is an open source memory object caching software application, and which is designed to access key-value caches or stores.
Key-value stores are widely used as web caching tiers, and Memcached is perhaps the most popular deployment. In order to effectively serve as web caches, Memcached servers support large memory capacities. However, server throughput is currently limited and bottlenecked by the network (i.e., physical 10 GbE and the operating system network stack), leaving several other resources such as memory bandwidth severely underutilized. The problem is exacerbated when several popular web applications and/or users request the same set of data cached by a single Memcached node. In order to meet latency service level agreements (SLAs), the most popular way to increase effective throughput is by replicating the Memcached servers. This solution neither addresses the efficiency problems in each Memcached server, nor is it cost-effective. Embodiments of the inventive concept address these and other limitations in the prior art.